package com.example.user1.service;

import com.example.user1.cmd.*;
import com.example.user1.vo.LoginVo;
import com.example.user1.vo.Result;
import com.example.user1.vo.UserInfoVo;
import org.jboss.marshalling.TraceInformation;

import java.util.List;

public interface UserService {
    List<UserInfoVo> list();

    int add(UserInfoCmd cmd);

    UserInfoVo get(Long id);

    void registry(RegistryUserPhoneCmd cmd);

    void registry(RegistryUserEmailCmd cmd);

    void registry(RegistryUserPasswordCmd cmd);
    Result<LoginVo> login(LoginCmd cmd);

    Result<String> refreshToken(Long id);

    void modify(UserInfoModifyCmd cmd);

    void modifyProfilePicture(ModifyProfilePictureCmd cmd);

    UserInfoVo self();
}
